// 并不是方法返回this实现的链式调用前后两个Promise对象并不相等
// 返回的是全新的promise对象 承诺结束过后可以返回一个新的承诺 承诺对应一个异步任务相互之间没有影响
// 每个then方法是在为上一个then\返回的promise对象添加状态明确过后的回调
// Promise会依次执行 回调函数也是从前到后依次执行
// return promise ok | return str 会作为then方法返回的Promise的值(回调的参数)
// 没有返回任何值 => undefined
ajax('/api/users.json').then(function(res){
  console.log(1111);
  return ajax('/api/urls.json')
}).then(function(res){
  console.log(2222);
  console.log(res);
  return ajax('/api/urls.json')
}).then(function(res){
  console.log(3333);
  return ajax('/api/urls.json')
}).then(function(res){
  console.log(4444);
  return ajax('/api/urls.json')
}).then(function(res){
  console.log(2222);
  return 'foo'
}).then(function(res){
  console.log(res);
})